使用ZeroTier转发所有流量及ZeroTier Moon搭建

您所在的位置:网站首页 ps5 端口转发 zerotier 使用ZeroTier转发所有流量及ZeroTier Moon搭建

使用ZeroTier转发所有流量及ZeroTier Moon搭建

2023-09-02 20:52| 来源: 网络整理| 查看: 265

随便瞎说

虽然我自己使用的蒲公英X1组网,但考虑到如果想让别人也连上我的emby,还是再搞个ZeroTier吧。考虑到我毕业之后去其他地方,学校的联通默认给公网IP,但以后住的地方不给的可能性比较大。

同时考虑到连接性的问题,往网络里加个Moon服务器比较好,自己家里有公网IP,虽然是动态的,但是看了下大半个月才会换一次,换了之后就再执行一下命令就行了。

话说我记得以前ZeroTier给的连接设备数量是100个,但我今天去看了看发现只有50个了,虽然50个也完全足够了。

前言

Moon服务器就不解释了,简单的说就是个人的一个帮助其他节点连接用的一个节点,要求其有公网IP,最好是固定的。因为我对docker一窍不通,所以这两天在看ZeroTier的Knowledge Base,突然看到了这一篇:https://zerotier.atlassian.net/wiki/spaces/SD/pages/7110693/Overriding+Default+Route+Full+Tunnel+Mode

简单的说就是可以将接入ZeroTier的设备所有流量都由某一设备转发,那么这东西有啥用呢?想起前两天一位已经毕业的学长,让我帮他找几篇论文,因为出去工作后就没学校那些资源了。

所以ZeroTier就可以将一个节点设置在学校内,通过这个节点转发所有的流量,相当于其他设备都使用了校园网的IP,自然也就可以直接使用学校的资源库了。

那为什么又要用Moon服务器呢?因为ZeroTier的根服务器在国外,所以在国内的连接性比较差,如果自己的设备也处在一个连接性比较差的地方,就可能连不上了。

如何设置转发全部流量?

说实话,它的文章我完全没有看懂。。。。。主要是有一大堆代码我不懂啥意思我不知道该往哪放。照着下面的步骤可以弄成,但我不懂原理。

0、在学校(或者你想要的某个地方)放一个常年24小时开机的设备运行ZeroTier;

1、允许客户端NAT;

2、在ZeroTier里设置你的要用来转发的客户端;

3、在其他设备上打开AllowDefault。

那么我们先来第一步,教程参考:https://zerotier.atlassian.net/wiki/spaces/SD/pages/224395274/Route+between+ZeroTier+and+Physical+Networks

不想看英文的,推荐这个视频:

那么通过这个可以实现其他设备访问到其他路由下的子网络,这就实现了ZeroTier虚拟IP到实际的IP的访问,但我们访问其他网站其实也是域名对应的某个IP嘛,所以只需要把转发的IP地址范围扩大就可以了。

UNRAID的可以参考这个:https://post.smzdm.com/p/aekwwkeq/

第二步:

在ZeroTier的管理界面设置0.0.0.0/0经由192.168.195.33转发,192.168.195.33是我学校里的路由器上运行的ZeroTier,在虚拟网络里的IP地址,请自行更换成自己的。

因为这里转发了全部的IP地址,一般ZeroTier是默认不允许这样的,因为可能会导致你无法上网。

第三步:在客户端允许全部的转发

Windows客户端

原本只勾上了Allow Managed IP,现在把Default Route和Global IP也勾上。然后就可以用校园网的IP下论文了。

昨天请已经毕业的学姐试了试,网速只有这么慢,但下个论文还是足够用的(又不是不能用。

设置Moon服务器(Moon和刚才的转发没有必然联系,只是为了方便连接稳定、快速)

Moon服务器要求拥有公网IP,最好是固定的公网IP,如果是家庭宽带没有固定的公网IP,DDNS域名也是不行的。但我去看了下,家里一般大半个月才换一次公网IP,所以也可以拿现在的IP用着,一个月换一次。

如果你希望通过zerotier的ip能访问你的比如UNRAID或者群晖,就使用host网络,只想做个moon也可以使用bridge。

这是官方的文档:https://docs.zerotier.com/zerotier/moons

在UNRAID上搭建:

在应用商店搜索ZeroTier,有个现成的,只需要输入你的网络ID就可以了。

点击控制台

我们先输入

zerotier-cli

再输入

zerotier-idtool

看看这两个命令都能干啥。(你不输入也没事,能知道自己在干嘛比较好)

然后输入下面这两行:

cd /var/lib/zerotier-one

zerotier-idtool initmoon identity.public > moon.json

第一行是切换到这个目录,第二行是生成一个moon.json文件。因为是unraid,这个zerotier-one目录已经映射到我们的 appdata里了,可以进去随便找个比如FileBrowser去修改:

官网给的,因为它还有IPV6所以就用这个图了

将stableendpoints后面的值改成你的“IP/9993”的形式,9993是端口,记得把这个端口开放到公网。别忘了双引号,也不要用域名。

然后再在这个目录下新建一个名为moon.d的文件夹,把生成的.mooo文件移动到里面,重启ZeroTier就可以了。

群晖上:

不是很想写了

有两个映像比较推荐,使用zerotier官方的加入网络,再用上面的zerotier-moon自动生成moon文件,因为群晖敲命令行有些麻烦。这个人写的比较详细,我就不写了。

https://zhuanlan.zhihu.com/p/268050990

使用官方的docker之后,把你的docker下创建一个zerotier文件夹,映射到docker的/var/lib/zerotier-one

再把官方的docker关了,开始用那个seedgou的。(记得开高级权限)

把这个那个刚才映射给官方docker的文件夹再映射给这个docker的/var/lib/zerotier-one。

在环境这一页加这么一行命令“-4 12.34.56.78”,把12.34.56.78换成你的公网IP,以后每换一次都要重新装一次这个docker。

在客户端使用zerotier-cli orbit deadbeef00 deadbeef00,添加moon。将deadbeef00换成你Moon的ID。

效果

昨天试的,有效降低的延迟,通过moon中转,带宽可以有10+,甚至可以看个视频啥的。

没有moon

有moon



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3